home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Programming / AmigaTalk / general / Random.st < prev    next >
Text File  |  2000-04-30  |  809b  |  33 lines

  1. "-------------------------------------------------------------"
  2. "Random Class - Generate a random number.  Some investigation "
  3. "               will have to be done to see just how random it"
  4. "               really is!                                    "
  5. "-------------------------------------------------------------"
  6.  
  7. Class Random :Object
  8. ! seed !
  9. [
  10.    new
  11.       seed <- 1
  12. |
  13.    randomize
  14.       seed <- <primitive 161>
  15. |
  16.    first
  17.       ^ <primitive 32 (seed <- <primitive 35 seed >) >
  18. |
  19.    next
  20.       ^ <primitive 32 (seed <- <primitive 35 seed >) >
  21. |
  22.    between: low and: high
  23.       ^ (self next * (high - low)) + low
  24. |
  25.    randInteger: limit
  26.       ^ (self next * limit) truncated + 1
  27. |
  28.    next: n    ! newa !
  29.       newa <- Array new: n.
  30.       (1 to: n) do: [:x | newa at: x put: self next].
  31.       ^ newa
  32. ]
  33.